草庐IT

Android isScreenOn Nullpointer异常

全部标签

c++ - std::list 的多元素插入是强异常安全的吗?

在exceptionalc++的第17项中,我发现:First,forallcontainers,multi-elementinserts("iteratorrange"inserts)areneverstronglyexception-safe.但在effectiveSTL的第1项中,我发现:Ifyouneedtransactionalsemanticsformultiple-elementinsertions(e.g.,therangeform—seeItem5),you'llwanttochooselist,becauselististheonlystandardcontaine

c++ - C++如何像Java Spring Assert一样检查条件并抛出异常

有没有标准的方法来做这样的事情?可用于Release模式(NDEBUG定义)检查失败时抛出异常。最好使用标准库或boost。为了清楚起见,我在这里使用的“断言”(可能是不同的术语)特别是关于运行时问题,而不是编程问题,例如SpringAssert。在Java世界中。Microsoft.VisualStudio.TestTools.CppUnitTestFramework是很好的候选人,但它是为了测试目的。 最佳答案 在我的一些项目中我使用:voidASSERT(constboolcond,conststd::string&text)

c++ - 将数据流式传输到 C++ 异常类中是否存在任何危险?

请考虑以下代码:throwmy_exception()支持代码如下:classmy_exception{public:templatemy_exception&operator与下面的替代方案相比,是否有任何原因会使这种throw变得危险,或者效率低下?std::stringstreams;s 最佳答案 您正在通过几个函数调用(operator重载)构造异常对象,所有这些都发生在抛出异常之前。这与正常的程序执行没有什么不同。唯一的潜在问题是,如果在异常对象的构建中抛出某些东西(比如没有足够的内存来保存构建的错误字符串),您可能会抛出

c++ - 异常类复制构造函数

我正在测试在执行堆栈展开调用std::terminate时如何抛出,方法是使用用于抛出的类的复制构造函数,抛出。根据C++14N4296-§15.1.3:Throwinganexceptioncopy-initializes(8.5,12.8)atemporaryobject,calledtheexceptionobject.Thetemporaryisanlvalueandisusedtoinitializethevariabledeclaredinthematchinghandler(15.3).classX{public:X()=default;X(constX&){throws

c++ - 实现 std::vector::push_back 强异常安全

我正在根据2018年后的圣地亚哥草案(N4791)实现我自己的vector,并且有一些关于实现强异常安全性的问题。这是一些代码:templatevoidVector::push_back(constT&value){if(buffer_capacity==0){this->Allocate(this->GetSufficientCapacity(1));}if(buffer_sizeConstruct(value);return;}autonew_buffer=CreateNewBuffer(this->GetSufficientCapacity(buffer_size+1),allo

c++ - 除零异常如何工作?

如何在编译器/芯片级别计算除法?为什么C++总是在运行时而不是编译时抛出这些异常(以防除数在编译时已知为零)? 最佳答案 视情况而定。一些处理器有硬件除法指令。一些处理器必须通过软件进行计算。一些C++编译器也不会在运行时捕获。通常是因为没有硬件支持对被零除进行补漏白。 关于c++-除零异常如何工作?,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questions/1995657/

已解决java.io.UnsupportedEncodingException异常的正确解决方法,亲测有效!!!

已解决java.io.UnsupportedEncodingException异常的正确解决方法,亲测有效!!!文章目录问题分析报错原因解决思路解决方法步骤一:检查编码名称步骤二:查询支持的编码步骤三:使用通用字符编码步骤四:异常处理步骤五:环境配置总结在Java编程中,处理文本数据时经常会遇到字符编码的问题。特别是在涉及多国语言或者系统之间数据交换时,正确的字符编码显得尤为重要。java.io.UnsupportedEncodingException是一个常见的异常,它发生在指定的字符编码不被系统支持时。接下来我们将深入分析这个问题,并提供一些有效的解决方案。问题分析当你试图使用某种特定的字

c++ - 在 Visual C++ 程序中每次抛出异常时,如何运行一些代码?

如果在C++程序中抛出异常,控制将转移到异常处理程序或调用terminate()。即使程序从处理程序内部(或从terminate()处理程序)发出一些可能为时已晚的诊断-大多数值在调用堆栈中的异常点抛出,不在处理程序中。在Windows上,可以使用[StackWalk64()]获取调用堆栈1功能。关键是如何在正确的时刻调用该函数。有没有办法让VisualC++程序在每次抛出异常(或未设置处理程序的异常)时执行一些用户代码? 最佳答案 如果您想在抛出SEH异常时执行操作,例如发生访问冲突时,那么您可以简单地捕获SEH异常(使用__fi

PHP CodeIgniter异常处理

只要数据库中存在数据,我就在一个系统上工作的系统。但是我想根据空数据库进行测试。当我这样做时,我几乎在每一页上都遇到了类似的问题。遇到未知的例外:errormessage:calltoboolean上的成员函数行()我知道这里有什么问题,但是我想知道如何处理异常。我不希望在空数据库的情况下打扰我的系统。一种解决方案正在关闭error_reporting但是我正在寻找更好的解决方案。看答案如果您确定有一行用于查询:$sql="SELECT*FROMtableWHEREid='1'";$query=$this->db->query($sql);if($query->num_rows()==1){$

c++ - 初学者如何处理用户输入类型不正确引起的异常

这篇文章可能与常见的有关c++异常的问题有点不同。在C++中,某人如何处理用户输入错误,我的意思是当提示用户输入整数时,他们输入了float或字符串/字符,反之亦然。你知道有人在提示他们的年龄时输入他们的名字。我基本上是在谈论C++中的内容等同于Python中的内容,例如:try:[codetopromptinguserforaninteger.]exceptionValueError:[codetorunifexceptionisthrown.]如果你们中的一个很棒的家伙有空闲时间以初学者能够理解的方式向我解释这一点,那将是非常感激的家伙。谢谢。 最佳答案